<div class="wikidoc"><a href="#Overview">Overview</a> <img src="http://download-codeplex.sec.s-msft.com/Download?ProjectName=odataphp&DownloadId=110925" alt="arrow_sm.gif" title="arrow_sm.gif" /> <a href="#Architecture">Architecture</a> <img src="http://download-codeplex.sec.s-msft.com/Download?ProjectName=odataphp&DownloadId=110925" alt="arrow_sm.gif" title="arrow_sm.gif" /> <a href="#Contributors">Contributors</a><br />
<h1>Overview <a name="Overview"></a></h1>
<img src="http://download-codeplex.sec.s-msft.com/Download?ProjectName=odataphp&DownloadId=110926" alt="OData_Logo.jpg" title="OData_Logo.jpg" /><br /><br /><br />The OData SDK for PHP enables PHP developers to access data services that use the OData protocol. Detailed information on the OData protocol and the other SDKs available can be found at <a href="http://www.odata.org">http://www.odata.org</a>. <br /><br />New features include:
<ul><li>Support for all new OData protocol features (Projections, Server-Side paging, Blobs, RowCounter and Customizable Feeds)</li>
<li>Support for Azure authentication</li>
<li>Better programming model with APIs for all Query Options</li>
<li>More command line options</li>
<li>Additional samples</li></ul>
Try the toolkit using some of the OData Services available on the internet:
<ul><li>NetFlix catalog: <a href="http://odata.netflix.com/catalog">http://odata.netflix.com/catalog</a></li>
<li>Services.odata.org: <a href="http://services.odata.org/OData/OData.svc/">http://services.odata.org/OData/OData.svc/</a></li></ul>
<br />Full list of services is available on the <a href="http://www.odata.org/producers">Producers</a> page on the OData.org Web Site<br /><br />The User Guide included in the OData SDK provides detailed documentation on the PHPDataSvcTool and methods exposed by the proxy class.<br />OData protocol documentation can be found on the <a href="http://www.odata.org/developers/protocols">OData Web site</a>.<br />This version replaces the ADO.NET Data Services toolkit for PHP that was released in Sept 2009.<br />
<h1>Architecture <a name="Architecture"></a></h1>
The OData SDK for PHP is based on an utility (PHPDataSvcUtil) that is used to generate a proxy class from the metadata exposed by an OData Producer, the classes are then used in the PHP application to connect/edit/add/delete or browse records from the Data Service. Objects with methods and properties can be used instead of writing code that handles calling the service and parsing the data.<br />Some examples<br /><br /><pre>
/* connect to the OData service  */
   $svc = new NorthwindEntities(NORTHWIND_SERVICE_URL);
     
/* get the list of Customers in the USA, for each customer get the list of Orders */
    $query = $svc-&gt;Customers()
                 -&gt;filter(&quot;Country eq &#39;USA&#39;&quot;)
                 -&gt;Expand(&#39;Orders&#39;);
    $customerResponse = $query-&gt;Execute();

/* get only CustomerID and CustomerName */
    $query = $svc-&gt;Customers()
                 -&gt;filter(&quot;Country eq &#39;USA&#39;&quot;)
                 -&gt;Select(&#39;CustomerID, CustomerName&#39;);
    $customerResponse = $query-&gt;Execute();

/* create a new customer */
    $customer = Customers::CreateCustomers(&#39;channel9&#39;, &#39;CHAN9&#39;);
    $proxy-&gt;AddToCustomers($customer); 

/* commit the change on the server */        
    $proxy-&gt;SaveChanges();

</pre><br />
<h1>Contributors <a name="Contributors"></a></h1><table><tr><td> <img src="http://i3.codeplex.com/download?ProjectName=DotNetServicesRuby&amp;DownloadId=47295" /></td><td> <img src="http://download-codeplex.sec.s-msft.com/Download?ProjectName=odataphp&DownloadId=111094" alt="Persistent.jpg" title="Persistent.jpg" /></td></tr>
<tr><td> Microsoft is the project sponsor and provides architectural guidance and best practices for this PHP Toolkit.  </td><td>  <a href="http://www.persistentsys.com/">Persistent Systems Ltd.</a> is an award-winning technology company specialized in software product development services. The Company’s proven processes for entire product lifecycle helps customers increase revenue, margin and enhance brand value.</td></tr></table></div><div class="ClearBoth"></div>